package com.example.logistics_manage.result.appexception;


import com.example.logistics_manage.result.restful.R;
import com.example.logistics_manage.result.restful.ResponseEunm;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;


//让controller层出了异常就找到这来
//@ControllerAdvice
public class ControllerExceptionAdvice {
    /**
     *  如果抛出的是 AppException 的增强
     *  返回值 就是返回的页面
     *  参数： controller 抛出的异常
     */
    @ExceptionHandler(AppException.class)
    @ResponseBody
    public R appExceptionHandler(AppException ex){
        //data里面要返回的是具体的参数，就是用户查询出来的具体的参数
        return new R(ex.getCode(), ex.getMassage(), null);
    }
    /**
     *  如果抛出的是Exception 的增强
     */
    @ExceptionHandler(Exception.class)
    @ResponseBody
    public R exceptionHandler(){
        return new R(ResponseEunm.ERROR,null);
    }
}